The present invention relates to an apparatus and a method for controlling a motor by computing a voltage command value based on at least a current deviation accumulated value.
A motor control apparatus for controlling motors such as a brushless motor, a brush DC motor, and an induction motor receives a current command value from a host controller in every control cycle performed at predetermined intervals (for example, at every 1 ms). The motor control apparatus computes a voltage command value based on the received current command value. The motor control apparatus then generates driving voltage corresponding to the computed voltage command value and supplies the driving voltage to a coil of the motor. In such motor control apparatuses, the actual current value flowing through the coil of the motor is detected by a current sensor. The motor control apparatus calculates the current deviation between the actual current value and the received current command value, and calculates the voltage command value by performing a predetermined computing process on at least the accumulated value of the current deviation (current deviation accumulated value). The voltage command value calculated as described above is sent to a pulse width modulation (PWM) control section. The PWM control section generates a PWM pulse by switching direct current supplied from a direct-current power source by a switching element of an inverter circuit and sends the PWM pulse to the motor.
To facilitate the control, in a three-phase DC motor, a current command that is subjected to a three-phase to two-phase conversion is sent to the motor control apparatus, and an inverse transformation (two-phase to three-phase conversion) is performed when determining a PWM pattern.
In the conventional motor control apparatus, the current deviation between the actual current value and the current command value is accumulated in every control cycle. The voltage command value is calculated based on at least the accumulated value (current deviation accumulated value). However, the voltage that can be supplied to the motor by a PWM pulse is limited due to the configuration of the inverter circuit.
That is, the voltage that can be supplied to the motor coil from the inverter circuit in a moment is either the voltage supplied from the direct-current power source (on) or 0V (off). Therefore, the switching element adjusts the on-time and the off-time in one control cycle by the switching operation such that the target output voltage is generated as a whole. Furthermore, the voltage to be output needs to be adjusted by the phase of the motor current to supply substantially sinusoidal current to the motor coil.
On the other hand, a wind-up phenomenon is caused in which the current deviation accumulated value increases in accordance with the load and operating state of the motor regardless of the voltage that can be supplied to the motor (average voltage of the PWM pulse). This causes a problem in the control when the motor is suddenly stopped or when the rotating direction of the motor that has been rotating under a high load is abruptly changed. For example, in a power steering apparatus, if a tire of a vehicle, which is driven by a motor, hits an obstacle on the road and is suddenly stopped, the back electromotive force generated by the rotation of the motor rapidly disappears. Accordingly, over voltage is applied by the excessive current deviation accumulated value and causes overcurrent abnormality. When the rotating direction of the motor that has been rotating under a high load is abruptly reversed or when the motor is decelerated, the motor is controlled to rotate in a direction to reduce the current deviation accumulated value (in the same direction as the previous rotating direction) until the current deviation accumulated value returns to a proper value. This causes delay in the response.
When the voltage supplied to the inverter is decreased, the voltage command value exceeds the range of voltage that can be output by the inverter. Therefore, a sinusoidal current cannot be supplied, which causes torque ripple in the motor. This undesirably causes vibration and noise in the motor.